উদাহরণ সহ ORM এবং Microservices

Java Technologies - স্প্রিং ওআরএম (Spring ORM) Spring ORM এবং Microservices Integration |
106
106

ORM (Object-Relational Mapping) এবং Microservices দুটি গুরুত্বপূর্ণ প্রযুক্তি যা একসঙ্গে ব্যবহৃত হলে শক্তিশালী এবং স্কেলেবল অ্যাপ্লিকেশন তৈরি করতে সহায়ক। Spring ORM হল Spring ফ্রেমওয়ার্কের একটি উপাদান যা ORM এর মাধ্যমে ডাটাবেস অপারেশনগুলো সহজতর করে, এবং Microservices এর মাধ্যমে অ্যাপ্লিকেশনকে ছোট ছোট, স্বাধীন অংশে ভাগ করা হয় যাতে তারা একে অপরের সাথে কমিউনিকেট করতে পারে।

Spring ORM এর মাধ্যমে ডাটাবেস অপারেশন এবং Spring Boot ব্যবহার করে Microservices তৈরি করলে উভয়ের শক্তি মিশে যায় এবং একটি লাইটওয়েট, মডুলার এবং স্কেলযোগ্য আর্কিটেকচার তৈরি হয়।


Microservices Architecture

Microservices হল একটি আর্কিটেকচারাল প্যাটার্ন যেখানে অ্যাপ্লিকেশনটি ছোট, স্বতন্ত্র সেবা বা সার্ভিসের মধ্যে বিভক্ত থাকে। প্রতিটি মাইক্রোসার্ভিস একটি নির্দিষ্ট ফাংশনালিটি পরিচালনা করে এবং সাধারণত নিজস্ব ডাটাবেস থাকে।


Spring ORM এবং Microservices একসঙ্গে ব্যবহার

ORM এবং Microservices এর মধ্যে সম্পর্ক

Microservices আর্কিটেকচারে প্রতিটি সার্ভিসের ডেটা ম্যানেজমেন্টের জন্য ORM (যেমন Hibernate, JPA) ব্যবহার করা হয়। ORM ডাটাবেস অ্যাক্সেসকে সহজ এবং কার্যকর করে তোলে, এবং এটি ডাটাবেস থেকে ডেটা রিট্রিভ এবং আপডেট করার সময় কোডের পুনঃব্যবহারযোগ্যতা নিশ্চিত করে।

উদাহরণ: Spring ORM এবং Microservices একটি প্রজেক্টে

1. Spring Boot Microservice তৈরি করা

প্রথমে Spring Boot প্রজেক্ট তৈরি করুন। যদি আপনি Maven ব্যবহার করেন, pom.xml ফাইল এডিট করুন এবং প্রয়োজনীয় ডিপেনডেন্সি যোগ করুন:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
    <groupId>com.h2database</groupId> <!-- অথবা আপনার পছন্দের ডাটাবেস -->
    <artifactId>h2</artifactId>
    <scope>runtime</scope>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>

2. Entity ক্লাস তৈরি করা

একটি Product Entity তৈরি করুন:

import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType;
import jakarta.persistence.Id;

@Entity
public class Product {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;
    private String name;
    private Double price;

    // Getters and Setters
    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Double getPrice() {
        return price;
    }

    public void setPrice(Double price) {
        this.price = price;
    }
}

3. Repository Interface তৈরি করা

Spring Data JPA ব্যবহার করে JpaRepository ইন্টারফেস তৈরি করুন:

import org.springframework.data.jpa.repository.JpaRepository;

public interface ProductRepository extends JpaRepository<Product, Long> {
    // Custom queries can be defined here
}

4. Service Layer তৈরি করা

Microservice এর মধ্যে ব্যবসায়িক লজিক (Business Logic) প্রক্রিয়া করার জন্য Service class তৈরি করুন:

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public class ProductService {

    @Autowired
    private ProductRepository productRepository;

    public List<Product> getAllProducts() {
        return productRepository.findAll();
    }

    public Product createProduct(Product product) {
        return productRepository.save(product);
    }

    public Product updateProduct(Product product) {
        return productRepository.save(product);
    }

    public void deleteProduct(Long id) {
        productRepository.deleteById(id);
    }
}

5. Controller তৈরি করা

Spring Boot অ্যাপ্লিকেশনটিকে RESTful API-র মাধ্যমে এক্সপোজ করতে ProductController তৈরি করুন:

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;

@RestController
@RequestMapping("/products")
public class ProductController {

    @Autowired
    private ProductService productService;

    @GetMapping
    public List<Product> getAllProducts() {
        return productService.getAllProducts();
    }

    @PostMapping
    public Product createProduct(@RequestBody Product product) {
        return productService.createProduct(product);
    }

    @PutMapping
    public Product updateProduct(@RequestBody Product product) {
        return productService.updateProduct(product);
    }

    @DeleteMapping("/{id}")
    public void deleteProduct(@PathVariable Long id) {
        productService.deleteProduct(id);
    }
}

6. Application Properties কনফিগারেশন

application.properties ফাইলে ডাটাবেস কনফিগারেশন যোগ করুন:

spring.datasource.url=jdbc:h2:mem:testdb
spring.datasource.driverClassName=org.h2.Driver
spring.datasource.username=sa
spring.datasource.password=password
spring.jpa.database-platform=org.hibernate.dialect.H2Dialect

7. Microservice-টি চালানো

এই অ্যাপ্লিকেশনটি চালানোর পর, আপনি /products API দিয়ে ডেটা CRUD অপারেশন করতে পারবেন। উদাহরণস্বরূপ:

  • GET /products: সকল পণ্য দেখাবে।
  • POST /products: নতুন পণ্য তৈরি করবে।
  • PUT /products: একটি পণ্যের ডেটা আপডেট করবে।
  • DELETE /products/{id}: পণ্য মুছে ফেলবে।

Microservices এবং ORM এর মধ্যে সম্পর্ক

  • ডেটা অ্যাক্সেস: প্রতিটি Microservice নিজস্ব ORM (যেমন JPA বা Hibernate) ব্যবহার করে ডেটাবেসের সাথে যোগাযোগ করে।
  • স্বাধীনতা: প্রতিটি Microservice নিজের ডাটাবেস এবং ORM কনফিগারেশন পরিচালনা করে, যার ফলে একে অপরের উপর নির্ভরশীলতা কমে যায়।
  • স্কেলেবিলিটি: Microservices সহজে স্কেল করা যায়, এবং ORM ব্যবহার করে ডেটাবেসের অপারেশন সহজে পরিচালনা করা যায়।

উপসংহার

Spring ORM এবং Microservices একত্রে ব্যবহৃত হলে স্কেলেবল, মডুলার এবং ইন্ডিপেনডেন্ট অ্যাপ্লিকেশন তৈরি করা যায়। Spring ORM ডাটাবেস অপারেশন সহজতর করে এবং Microservices অ্যাপ্লিকেশনকে স্বাধীন এবং স্কেলযোগ্য করে তোলে। এই দুটি প্রযুক্তির একত্রে ব্যবহার করে উন্নত পারফরম্যান্স এবং নমনীয় অ্যাপ্লিকেশন ডিজাইন করা সম্ভব।

Content added By
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion